#pragma once

#include "IMat.h"

// Percent for mathes.
typedef double percent;

/*
 * Class contain methods for compare two matrix or rows/columns.
 */
class  __declspec(dllexport) Processor {
public:

	/*
	 * Compare two matrix (rows/columns) with some accuracy.
	 *
	 * Parameters:
	 * - (const IMat&) - first matrix (rows/columns);
	 * - (const IMat&) - second matrix (rows/columns);
	 * - (double) - accuracy of matches (default is 0.0).
	 * Return value:
	 * (percent) some percent of matches;
	 * (percent) 0, if one or both matrix is NULL.
	 */
	static percent compareMatrix (const IMat& first, const IMat& second, double accuracy = 0.0);
	static percent compareRow (const MatrixRow&, const MatrixRow& second, double accuracy = 0.0);
	static percent compareColumn (const MatrixColumn& first, const MatrixColumn& second, double accuracy = 0.0);
private:
	Processor (void);
};

